package com.qzsoft.zhjd.cement.modules.common.controller;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.qzsoft.jeemis.common.utils.Result;
import com.qzsoft.zhjd.cement.modules.cementdata.entity.CementDataEntity;
import com.qzsoft.zhjd.cement.modules.common.service.CementCommonService;
import com.qzsoft.zhjd.common.utils.ResultUtils;

/**
 * @ClassName CementCommonController
 * @Description 水稳通用控制器
 * @author linhuawei
 * @since 2022-04-24
 */
@RestController
@RequestMapping("/api/cementCommon")
public class CementCommonController {
    
    @Autowired
    private CementCommonService cementCommonService;
    
    /**
     * @Title getLastData
     * @Description 获取最新一条数据
     * @param params 查询条件
     * @return 最新一条数据
     */
    @GetMapping("/getLastData")
    public Result<CementDataEntity> getLastData(@RequestParam Map<String, Object> params){
        CementDataEntity data = cementCommonService.getLastData(params);
        return ResultUtils.ok(data);
    }

    /**
     * @Title getLastDay
     * @Description 获取最新数据日期
     * @param params 查询条件
     * @return 最新数据日期
     */
    @GetMapping("/getLastDay")
    public Result<String> getLastDay(@RequestParam Map<String, Object> params) {
        String data = cementCommonService.getLastDay(params);
        return ResultUtils.ok(data);
    }

    /**
     * @Title getLastMonth
     * @Description 获取最新数据月份
     * @param params 查询条件
     * @return 最新数据月份
     */
    @GetMapping("/getLastMonth")
    public Result<String> getLastMonth(@RequestParam Map<String, Object> params) {
        String data = cementCommonService.getLastMonth(params);
        return ResultUtils.ok(data);
    }

    /**
     * @Title getLastYear
     * @Description 获取最新数据年份
     * @param params 查询条件
     * @return 最新数据年份
     */
    @GetMapping("/getLastYear")
    public Result<String> getLastYear(@RequestParam Map<String, Object> params) {
        String data = cementCommonService.getLastYear(params);
        return ResultUtils.ok(data);
    }

    
    /**
     * @Title getAllYear
     * @Description 获取所有有生产数据的年份
     * @param params 查询条件
     * @return 所有有生产数据的年份
     */
    @GetMapping("/getAllYear")
    public Result<List<String>> getAllYear(@RequestParam Map<String, Object> params) {
        List<String> data = cementCommonService.getAllYear(params);
        return ResultUtils.ok(data);
    }

}
